define(["jquery","bbcare","comm/datatable/datatable"],function($,$bb,$datatable){
	var servers = {};
	var URL = $bb.baseUrl("followapp");

	/**
	 * 请求班级详情
	 */
	servers.ajaxClassInfo = function(queueId,callback){
		$bb.ajax({
            url: URL + "ctrl/memberClass/queryMemberClassInfo/"+queueId,
            success: function(data){
                if(data.success){
                    callback(data.data);
                }else{
                    $bb.toastShow(data.msg ? data.msg : "请求班级详情出错！");
                }   
            }
        });
	}

	/**
	 * 修改班级信息
	 */
	servers.ajaxEditClass = function(params,callback,arg){
		$bb.ajax({
            url: URL + "ctrl/memberClass/updateMemberClassInfo",
            data:JSON.stringify({
                data : params
            }),
            success: function(data){
                if(data.success){
                    callback(data.data,arg);
                }else{
                    $bb.toastShow(data.msg ? data.msg : "修改班级信息出错！");
                }   
            }
        });
	}

	/**
	 * 队列下临床路径查询
	 */
	servers.ajaxQryQueueCp = function(params,callback){
		$bb.ajax({
            url: URL + "ctrl/cpmanage/qryQueueCp",
            data:JSON.stringify({
                data : {
                	"queueId":params.queueId
                }
            }),
            success: function(data){
                if(data.success){
                    callback(data.data,params);
                }else{
                    $bb.toastShow(data.msg ? data.msg : "队列下临床路径查询出错！");
                }   
            }
        });
	}

    /**
     * 建档任务查询，同时返回任务内容（问卷）模板
     */
    servers.ajaxArchiveTaskAndCont = function(params,callback){
        $bb.ajax({
            url: URL + "ctrl/cpmanage/qryArchiveTaskAndCont",
            data:JSON.stringify({
                data : {
                    "queueId":params.queueId,
                    "schemeId":params.schemeId
                }
            }),
            success: function(data){
                if(data.success){
                    callback(data.data,params);
                }else{
                    $bb.toastShow(data.msg ? data.msg : "添加会员出错！");
                }   
            }
        });
    }

    /**
     * 处理建档保存需要的数据
     */
    servers.getTaskIdList = function(taskList){
        var arr = [];
        for (var i = 0; i < taskList.length; i++) {
            arr[i] = taskList[i].id;
        }
        return arr;
    }

    /* 建档保存 */
    servers.ajaxArchive = function(params,callback,className){
        $bb.ajax({
            url: URL + "ctrl/ptmanage/newArchive",
            data:JSON.stringify({
                data : params
            }),
            success: function(data){
                if(data.success){
                    callback(data.data,className);
                }else{
                    $bb.toastShow(data.msg ? data.msg : "建档出错！");
                }   
            }
        });
    }

    /**
     * 查询患者临床路径下的节点
     */
    servers.ajaxUserCpNodes = function(params,callback){
        $bb.ajax({
            url: URL + "ctrl/ptmanage/qryUserCpNodeList",
            data:JSON.stringify({
                data : {
                    "userId":params.userId,
                    "showFlag":"1",
                }
            }),
            success: function(data){
                if(data.success){
                    callback(data.data,params);
                }else{
                    $bb.toastShow(data.msg ? data.msg : "查询患者临床路径下的节点出错！");
                }   
            }
        });
    }

    /**
     * 查询节点下的任务
     */
    servers.ajaxTasks = function(params,callback){
        $bb.ajax({
            url: URL + "ctrl/ptmanage/qryUserCpTaskList",
            data:JSON.stringify({
                data : {
                    "ptNodeId":params.ptNodeId
                }
            }),
            success: function(data){
                if(data.success){
                    callback(data.data,params);
                }else{
                    $bb.toastShow(data.msg ? data.msg : "查询节点下的任务出错！");
                }
            }
        });
    }

    /**
     * 查询任务下的内容
     */
    servers.ajaxCont = function(params,callback){
        $bb.ajax({
            url: URL + "ctrl/ptmanage/qryUserCpTaskCont",
            data:JSON.stringify({
                data : {
                    "ptTaskId":params.ptTaskId
                }
            }),
            success: function(data){
                if(data.success){
                    callback(data.data,params);
                }else{
                    $bb.toastShow(data.msg ? data.msg : "查询任务下的内容出错！");
                }
            }
        });
    }

    /**
     * 填写或修改患者任务内容信息
     */
    servers.ajaxSubmitTask = function(params1,callback,params){
        $bb.ajax({
            url: URL + "ctrl/ptmanage/submitUserCpTask",
            data:JSON.stringify({
                data : params1
            }),
            success: function(data){
                if(data.success){
                    callback(data.data,params);
                }else{
                    $bb.toastShow(data.msg ? data.msg : "填写或修改患者任务内容信息出错！");
                }
            }
        });
    }

    /**
     * 删除患者
     */
    servers.ajaxUserDelete = function(params,callback){
        $bb.ajax({
            url: URL + "ctrl/ptmanage/deleteQueueUser",
            data:JSON.stringify({
                data : params
            }),
            success: function(data){
                if(data.success){
                    callback(data.data);
                }else{
                    $bb.toastShow(data.msg ? data.msg : "删除患者出错！");
                }
            }
        });
    }

	/**
     * 入参
     */
    servers.inParams = function(args){
    	var params = $bb.getPageParams();
        var data = JSON.stringify({
            data: {
                "args": JSON.stringify(args),
                "flag":"8",
                "queueId": params.queueId,
                "phoneNo": $.trim($("#phoneNo").val()),
                "userName": $.trim($("#userName").val()),
                "motherName": $.trim($("#motherName").val()),
            }
        });
        return data;
    }
    /**
     * 出参
     */
    servers.outParams = function(data){
        return data.rows;
    }
    /**
     * columns
     */
    var columnGender = function(e){
        return e.gender == "F" ? "女" : e.gender == "M" ? "男" : "";
    }
    servers.columnsData = function(){
        var columnsArr = [
            {"data":'motherName'},
            {"data":'phoneNo'},
            {"data":'userName'},
            {"data":columnGender},
            {"data":'birthday'},
            {"data":'age'},
            {
                "data": null,
                "className":"operate"
            }
        ];
        return columnsArr;
    }
    /**
     * 初始化完成之后的回调函数
     */
    servers.initComplete = function(setting,json){
        var id = $(".layout-bottom table").attr("id");
        $("#" + id).prev("div.row").remove();
        // 搜索 
        $("#serchBtn").click(function(){
            $datatable.table.api().ajax.reload();  // 出发dt的重新加载数据的方法
            var args = $datatable.table.api().ajax.params();   //获取dt请求参数 
        });
        // 初始化所有工具提示
        $(function(){$("[data-toggle='tooltip']").tooltip();});
    }

	return servers;
});